package com.luxsoft.siipap.em.replica.ui;

import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.Action;

import org.jdesktop.swingx.JXTaskPaneContainer;

import com.luxsoft.siipap.swing.browser.InternalTaskAdapter;
import com.luxsoft.siipap.swing.views2.DefaultTaskView;
import com.luxsoft.siipap.swing.views2.InternalTaskTab;

/**
 * Consulta principal del kernell
 * 
 * @author Ruben Cancino
 * 
 */
public class ReplicacionView extends DefaultTaskView {

	private InternalTaskTab existenciasTab;
	private InternalTaskTab registrosTab;
	private InternalTaskTab replicaTab;
	
	
	
	protected RegistrosPanel registrosPanel;	
	

	public ReplicacionView() {	
	}

	@Override
	protected void instalarTaskElements() {

		Action showReplicacion = new AbstractAction("Registros (.POR)") {
			public void actionPerformed(ActionEvent e) {
				mostrarRegistrosPanel();
			}
		};
		consultas.add(showReplicacion);

		Action showExistencias = new AbstractAction("Existencias") {
			public void actionPerformed(ActionEvent e) {
				mostrarExistencias();
			}
		};		
		consultas.add(showExistencias);
		

	}

	protected void instalarTaskPanels(final JXTaskPaneContainer container) {
		
	}
	
	private ReplicaPanel replicaPanel;
	
	private void mostrarReplicaPanel() {
		if (replicaTab == null) {
			replicaPanel=new ReplicaPanel();
			replicaPanel.init();
			replicaTab = new InternalTaskTab(replicaPanel);			
		}
		addTab(replicaTab);
	}

	private void mostrarRegistrosPanel() {
		if (registrosTab == null) {
			registrosPanel = new RegistrosPanel();
			InternalTaskAdapter adapter = new InternalTaskAdapter(registrosPanel);
			adapter.setTitle("Registros en archivos .POR");
			registrosTab = new InternalTaskTab(adapter);			
		}
		addTab(registrosTab);
	}

	/**
	 * Muestra el panel de existencias tanto en SIIPAP como en SIIPAP-EX
	 * 
	 */
	private void mostrarExistencias() {
		if (existenciasTab == null) {
			ExistenciasPanel panel = new ExistenciasPanel(
					new ExistenciasModel());
			InternalTaskAdapter adapter = new InternalTaskAdapter(panel);
			adapter.setTitle("Existencias");
			existenciasTab = new InternalTaskTab(adapter);
			addTab(existenciasTab);
		} else {
			addTab(existenciasTab);
		}
	}
	
	public void open(){
		mostrarReplicaPanel();
	}
	
	public void close(){
		super.close();
	}
	

}
